//Problem Id:1015  User Id:tq 
//Memory:20K  Time:15MS
//Language:C++  Result:Accepted

/*	author: TangQiao @ Wind 
	problem name: Lotto
	source : ULM 1996

	problem type: 搜索
	problem description: 给你K个数k (6 < k < 13),求出所有的长度为6的序列,并且序列递增.
	problem solution: 搜索,没什么特别的.
	award and note: 此题虽然easy,但是我却格式错了两次.题目要求各答案之间有空行,并且最后一个答案之后没空行.
			我因为太急着做出来,错了两次,太不应该. 	
	date : 2005.5.20 北师大校队个人选拨赛2	
*/ 

#include <stdio.h>
#include <string.h>
//#include <math.h>

int n;
int shu[30];
int pt;
int tt[30];


void sort()
{
	int i,j,t;
	for (i=1;i<n;i++)
		for (j=i+1;j<=n;j++)
			if (shu[i]>shu[j])
			{
				t=shu[i];
				shu[i]=shu[j];
				shu[j]=t;	
			}
}


main()
{
	int i;
	int j;
	j=1;
	while (1)
	{
		scanf("%d", &n);
		if (n==0) break;
		
		if (j!=1) printf("\n");
		if (j==1) j=2;
		for (i=1;i<=n;i++) scanf("%d", &shu[i]);

		sort();
		tt[1]=0;
		pt=1;
		while (pt>0)
		{
			tt[pt]++;
			if (pt>6)
			{
				for (i=1;i<6;i++)
					printf("%d ",shu[tt[i]]);
				printf("%d\n",shu[tt[i]]);
				pt--;
			}
			else if (tt[pt]>n)
			{
				pt--;
			}
			else
			{
				pt++;
				tt[pt]=tt[pt-1];
			}

		}


	}

	return 0;
}

